package com.service.menurole;

import java.util.List;

import com.dao.MenuDao;
import com.entity.Menu;
import com.utils.MybatisUtil;
import com.utils.TransferArray;

public class MenuServiceImpl implements MenuService{

	@Override
	public List<Menu> allMenu(int userid) {
		MenuDao menu = MybatisUtil.getMapper(MenuDao.class);
		List<Menu> allMenu = menu.allMenu(userid);
		MybatisUtil.closeCommit();
		return allMenu;
	}

	@Override
	public List<Menu> menuBtn(int userid,int fatherid) {
		MenuDao menu = MybatisUtil.getMapper(MenuDao.class);
		List<Menu> allMenu = menu.menuBtn(userid,fatherid);
		MybatisUtil.closeCommit();
		return allMenu;
	}

	@Override
	public List<Menu> allMenuByfp() {
		MenuDao menu = MybatisUtil.getMapper(MenuDao.class);
		List<Menu> allMenu = menu.allMenuByfp();
		MybatisUtil.closeCommit();
		return allMenu;
	}

	@Override
	public List<Menu> allMenuByid(int userid) {
		MenuDao menu = MybatisUtil.getMapper(MenuDao.class);
		List<Menu> allMenu = menu.allMenuByid(userid);
		MybatisUtil.closeCommit();
		return allMenu;
	}

	@Override
	public int delMenuByUserid(int userid) {
		MenuDao menu = MybatisUtil.getMapper(MenuDao.class);
		int delMenuByUserid = menu.delMenuByUserid(userid);
		MybatisUtil.closeCommit();
		return delMenuByUserid;
	}

	@Override
	public int addMenuByUserid(int userid, int menuid) {
		MenuDao menu = MybatisUtil.getMapper(MenuDao.class);
		int addMenuByUserid = menu.addMenuByUserid(userid,menuid);
		MybatisUtil.closeCommit();
		return addMenuByUserid;
	}

	//集中处理
	@Override
	public int fpMenu(int userid, String[] array) {
		int fpRow = -1;
		int delRow = this.delMenuByUserid(userid);
		if(delRow != -1) {
			int[] arrays = TransferArray.StringToInt(array);
			for (int i = 0;i<arrays.length;i++) {
				this.addMenuByUserid(userid, arrays[i]);
			}
			fpRow = 1;
		}
		return fpRow;
	}

	@Override
	public int deleteMenu(int menuid) {
		MenuDao menu = MybatisUtil.getMapper(MenuDao.class);
		int row = menu.deleteMenu(menuid);
		MybatisUtil.closeCommit();
		return row;
	}
	
	public Menu menuBymenuid(int menuid) {
		MenuDao mapper = MybatisUtil.getMapper(MenuDao.class);
		Menu menu = mapper.menuBymenuid(menuid);
		MybatisUtil.closeCommit();
		return menu;
	}
	
}
